package com.munix.utilities; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.telephony.TelephonyManager; import java.util.List; import java.util.UUID; /** * Created by munix on 07/04/16. */ public class System { /** * Comprueba si una aplicación está instalada * * @param context * @param packageName * @return true si el nombre del paquete está instalado en el dispositivo */ public static Boolean isPackageInstalled( Context context, String packageName ) { try { @SuppressWarnings( "unused" ) ApplicationInfo info = context.getApplicationContext() .getPackageManager() .getApplicationInfo( packageName, 0 ); return true; } catch ( PackageManager.NameNotFoundException e ) { return false; } } public static Boolean isPackageInstalled( String packageName ) { return isPackageInstalled( MunixUtilities.context, packageName ); } public static String getLauncherActivity( Context context, String packageName ) { Intent intent = new Intent( Intent.ACTION_MAIN, null ); intent.addCategory( Intent.CATEGORY_LAUNCHER ); PackageManager pm = context.getPackageManager(); List<ResolveInfo> infos = pm.queryIntentActivities( intent, 0 ); for ( ResolveInfo info : infos ) { if ( info.activityInfo.packageName.equals( packageName ) ) { return info.activityInfo.name; } } return null; } public static String getLauncherActivity( String packageName ) { return getLauncherActivity( MunixUtilities.context, packageName ); } public static void exit( int code ) { java.lang.System.exit( code ); } public static long currentTimeMillis() { return java.lang.System.currentTimeMillis(); } public static String getUniqueDeviceId( Context context ) { TelephonyManager tm = (TelephonyManager) context.getSystemService( Context.TELEPHONY_SERVICE ); String tmDevice, tmSerial, androidId; tmDevice = "" + tm.getDeviceId(); tmSerial = "" + tm.getSimSerialNumber(); androidId = "" + android.provider.Settings.Secure.getString( context.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID ); UUID deviceUuid = new UUID( androidId.hashCode(), ( (long) tmDevice.hashCode() << 32 ) | tmSerial .hashCode() ); String deviceId = deviceUuid.toString(); return deviceId; } public static String getUniqueDeviceId() { return getUniqueDeviceId( MunixUtilities.context ); } }